#pragma once
#include <d3d9.h>
#include <d3dx9.h>
#include <vector>

namespace Minicraft
{
	namespace Textures
	{
		namespace TextureList
		{
			// An enum containing all the textures for this project
			enum e
			{
				grass = 0,
				grass_side,
				dirt
			};
		}

		// A vector containing references to the textures.
		extern std::vector<LPDIRECT3DTEXTURE9>* TextureRefs;

		// Loads all the textures for the game.
		void LoadTextures();

		// Loads a single texture.
		void LoadTexture(LPCSTR);

		// Unloads all the textures for the game.
		void UnloadTextures();

		// Returns a pointer to a texture based on the value of the passed Texture enum.
		LPDIRECT3DTEXTURE9 GetTextureByEnum(Minicraft::Textures::TextureList::e);
	}
}